/**
 * 该文件（`packages/core-common/src/declare.ts`）定义了两个通用类型工具：
 *
 * 1. `ConstructorOf<T, K extends any[] = any[]>`
 *    表示一个构造函数类型，接收参数类型为 `K`（默认为任意参数数组），返回类型为 `T`。常用于依赖注入、工厂模式等场景下对类构造函数的类型约束。
 *
 * 2. `MaybeNull<T>`
 *    表示类型 `T` 或 `null` 或 `undefined`，用于标注某个值可能为空或未定义，便于类型安全检查。
 *
 * **总结**：
 * 该文件为项目提供了常用的类型工具，提升了类型表达能力和代码的健壮性。
 */

export type ConstructorOf<T, K extends any[] = any[]> = new (...args: K) => T;

export type MaybeNull<T> = T | null | undefined;
